package raf;

import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;

/**
 * 用户登录操作
 * 程序启动后要求输入用户名和密码
 * 
 * 如果用户名密码都输入正确则提示:登录成功!
 * 如果密码输入错误或者该用户在user.dat文件中不存在，则提示:用户名或密码错误!
 * 
 * @author 范传奇
 *
 */
public class LoginDemo {
	public static void main(String[] args) throws IOException {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入用户名:");
		String username = scanner.nextLine();
		System.out.println("请输入密码:");
		String password = scanner.nextLine();
		
		
		RandomAccessFile raf = new RandomAccessFile("user.dat","r");
		boolean check = false;//验证是否通过
		for(int i=0;i<raf.length()/100;i++) {
			//先将指针移动到每条记录的开始位置
			raf.seek(i*100);
			byte[] data = new byte[32];
			raf.read(data);
			String name = new String(data,"UTF-8").trim();
			if(name.equals(username)) {
				//比密码
				raf.read(data);
				String pwd = new String(data,"UTF-8").trim();
				if(pwd.equals(password)) {
					check = true;
				}
				break;
			}
		}		
		if(check) {
			System.out.println("登录成功，欢迎回来!");
		}else {
			System.out.println("登录失败，用户名或密码不正确!");
		}		
		raf.close();
		
	}
}








